Telecommunications interface apparatus and method

ABSTRACT

An interface apparatus and method for transmitting data between a host computer and a telecommunication network without requiring special host-based computer programs to communicate with the interface apparatus. The invention uses existing ports of the host computer, utilized in their standard method of operation, such as driving a printer or communicating with a workstation. This reduces cost, simplifies use, and permits the use of the telecommunication interface apparatus with any computer utilizing its existing programs. The interface apparatus scans the beginning of a message for a command code comprising a string of special characters and the addressee number and/or code. If such a code is detected, the message is transmitted over the telecommunication network. Otherwise, the message is passed through the interface apparatus unchanged to be printed or otherwise output.

This is a continuation of application Ser. No. 07/487,766 filed on Mar.2, 1990, now abandoned.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The invention relates to a telecommunication interface apparatus andmethod, and more particularly to an interface apparatus and method fortransmitting data between a host computer and a telecommunicationnetwork without requiring special host-based computer programs.

2. Description of the Prior Art

Computers today are often used to communicate to other people andcomputer systems via telecommunication networks and services such astelex, electronic mail, and facsimile (fax) transmissions. To performthis function, special communication programs (or "software") arerequired in the user's (or "host") computer to meet the requirements ofthe telecommunication network.

In the present art, to connect a host computer to a telecommunicationnetwork, a physical connection of a communication interface (such as amodem or network gateway module) to a port of the host computer isnecessary. The communication interface is in turn connected to thetelecommunication network (for example, via telephone wires). Thecomputer port is commonly an RS-232 serial interface port, communicatingin ASCII, BSC, or SDLC codes with communication protocols varyingdepending on the brand of computer. Such protocols are typicallyimplemented within the communication interface in the form ofROM-resident software ("firmware"). The communication protocol mustinclude all of the necessary commands and controls to permit thehandling of the interface and to transmit or receive data. Similarly,the protocol must include all necessary controls to differentiatebetween status and control data coming from the interface and dataforming a user's message. Higher level communication software uses thecommand and control structure of the protocol to effectuatetelecommunication sessions. An example of one such protocol is the HayesAT command protocol used in the microcomputer environment. On largercomputers, no standard has emerged at this time.

Requiring special communication software resident in the host computerrequirement presents an inconvenience for computer users, since not onlymust they purchase or write such software, but they also have to writeor purchase compatible editing or word processing software to generatethe messages or files to be transferred. Alternatively, they can writeadditional software to link such communication software to theirexisting word processing or editing software.

It is desirable to provide a method for connecting a computer to atelecommunication interface which does not require any special softwarein the host computer to communicate with the interface. This wouldreduce the cost, simplify the use, and permit the installation of thetelecommunication interface in any host computer while utilizing thehost computer's existing programs. Consequently, the training time ofusers would be dramatically reduced since they would communicate to thetelecommunication interface using their existing programs.

The present invention achieves this goal by linking a transmissioninterface to the printer port of a host computer, and optionally to aworkstation port of the host computer. The invention enablescommunications to be accomplished using existing programs included inmost computers. The invention therefore eliminates the need for specialhost computer resident communication software.

SUMMARY OF THE INVENTION

The present invention is an apparatus and method for linking a wordprocessor or editor of a host computer via a communication interfacemodule to other computers, telex machines, electronic mail services, orfacsimile machines without requiring any special configuration orprogramming of the host computer.

In the case of a multi-station computer with available ports,communication from the host computer word processor/editor to thecommunication interface module is performed by allocating one port ofthe host computer to the communication interface module. In thepreferred embodiment of the invention, the outbound port is a printerport.

Optionally, communication from the communication interface module to thehost computer can be performed by allocating a port of the host computerto the communication interface module. In the preferred embodiment ofthe invention, the inbound port is a workstation port or a keyboardport.

A user generates an outgoing message (e.g., facsimile, telex, orelectronic mail) by including in the document to be transmitted the typeof communication desired and an addressee number and/or code. The userthen writes the message as usual. After preparation of the message, theuser sends the message to the "printer" emulated by the communicationinterface module. The communication interface module scans the beginningof the message for a command code comprising a string of specialcharacters and the addressee number and/or code. The communicationinterface module then performs the necessary tasks to send the messageto the desired network as electronic mail, a telex, a facsimile, etc.

If the user desires to take advantage of receiving incoming messagesinto the host computer, the communication interface module emulates aworkstation input and enters the incoming messages into the hostcomputer via a workstation port in the host computer (or, in the case ofa microcomputer, through the key-board port). The user may elect whetheror not to use the incoming message feature. In some cases, especiallyfor the facsimile option, a user may elect to have incoming messagesprinted on a designated printer or fax machine rather than having themstored in the host computer.

The communication interface module may be connected in series with theprinter and is transparent to any data not starting with the addresseecommand string (telex number, fax number, electronic mail networknumber, etc.). This permits the printer to be used in a normal fashion.

The details of the preferred embodiment of the present invention are setforth below. Once the details of the invention are known, numerousadditional innovations and changes will become obvious to one skilled inthe art.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is schematic diagram showing the present invention coupledbetween a host computer and an optional printer.

FIG. 2 is block circuit diagram showing one implementation of presentinvention.

FIG. 3 is diagram showing a preferred message format used with thepresent invention.

FIG. 4A is flow chart showing the preferred embodiment of the method ofthe present invention.

FIG. 4B is a continuation of the flow chart of FIG. 4A.

FIG. 4C is a continuation of the flow chart of FIG. 4B.

Like numbers and designations in the drawings refer to like elements.

DETAILED DESCRIPTION OF THE INVENTION

Throughout this description, the preferred embodiment and examples shownshould be considered as exemplars, rather than limitations on theapparatus and method of the present invention.

The invention provides an apparatus and method for linking a hostcomputer to a telecommunication interface module without requiring anyspecial software or hardware within the host computer. The inventionuses existing ports of the host computer, utilized in their standardmethod of operation, such as driving a printer or communicating with aworkstation. As shown in FIG. 1, the input port 10 of the interfacemodule 12 is connected in series to a printer port 14 of the hostcomputer 16. If the host computer 16 has a printer 18 connected to theprinter port 14, the interface module 12 is connected between theprinter port 14 and the printer 18, as shown. Thus, the printer 18 iscoupled to an output port 19 of the interface module 12. This connectionallows the receipt of data by the interface module 12 from any softwareresiding in the host computer 16 that is capable of sending data to aprinter. The normal use of the printer 18 is not affected by theinterface module 12. The interface module is also coupled to atelecommunications network 11 by means of a communication port 13.

If it is expected that the interface module 12 will upload data or otherinformation to the host computer 16, the interface module 12 emulates aworkstation in the preferred embodiment, and is coupled to a workstationport 20 of the host computer 16. Consequently, the interface module 12is able to access the existing programs of the host computer 16 (such asa word processor) to upload the received data into the host computer 16.If the purpose of the workstation emulation is to upload messages andinformation to the host computer 16, the exchange of information overthe workstation port 20 is normally bidirectional due to handshake,polling, or daisy-chain requirements.

Interaction between the host computer 16 and the interface module 12 isaccomplished by the utilization of two different sessions in thepreferred embodiment: one for receiving data to be transmitted to theinterface module 12 via a printer port 14, and one to upload data fromthe interface module 12 to the host computer 16 via a workstation port20 (or, in the case of a microcomputer, the interface module 12 mayemulate a keyboard). By the use of two sessions, access to the interfacemodule 12 is available to all existing host computer programs capable oftransmitting data to a printer 18, or receiving data from a workstationport 20 or keyboard port.

FIG. 2 shows a block diagram of one configuration of the presentinvention. The interface module 12 comprises a CPU unit 22 (such as anIntel Corporation 8088 or 80286 microprocessor), with associated randomaccess memory 24 ("RAM"), read only memory 26 ("ROM"), interface drivers28, and communication driver 30.

The interface drivers 28 include the circuitry, couplings, andprogramming necessary to communicate over a particular type of port(e.g., an RS-232 serial port, a Centronics-type parallel port, or acoaxial connection). Such apparatus is well known in the art. Thesoftware component of each driver simply provides the control functionsfor transferring data through its respective port. For example, the workstation emulation driver shown in FIG. 2 includes software thatimplements the protocol used by a particular workstation (such as anRS-232 signaling protocol). Similarly, the communication driver 30comprises 10 circuitry, couplings, and programming for connecting theinterface module 12 with a telecommunications network 11. Thecommunication driver 30 therefore may emulate such communicationsstandards as Ethernet, X.25, Bell 202, V.21, etc. Such standards and themethods and apparatus for communication using such standards are wellknown in the art.

When receiving data on a printer port 14 from a host computer 16, theinterface module 12 scans the beginning of the message to see if thedata from the port is normal data to be printed on the printer 18(attached in series to the telecommunications interface module 12), orcomprises messages to be sent through the interface module 12 to thetelecommunication network 11. A control program residing in theinterface module 12 scans the incoming data to detect key wordsindicating the beginning of a message to be transmitted on thetelecommunications network 11. If a key word is not detected near thebeginning of the message, the control program will conclude that themessage is a regular message to be printed and will transmit thereceived data to the printer 18. This permits shared-use of the printerport 14 on the host computer 16 by the interface module 12 and theprinter 18. Further, the interface module 12 shares the printer 18itself with the host computer 16 (for example, for printing inboundtelecommunication messages and/or status messages).

When the interface module 12 has to transmit data from thetelecommunication network 11 to the host computer 16, a separate sessionemulating a workstation (or a keyboard in the case of a microcomputer)accesses the workstation port 20 of the host computer 16. Utilizingexisting programs of the host computer 16 that are capable of receivingdata from the workstation port 20, the interface module 12 enters therequired data into the host computer 16 in the fashion required by theworkstation port 20. Such information may be status or statisticalinformation about the activity of the interface module 12, or incomingmessages from the network, such as electronic mail, telex messages, faxtransmittals, etc. Depending on the application, the information can beuploaded to the host computer 16 as described above, or transmitteddirectly to a printer 18 for printing. Alternatively, the interfacemodule 12 may be operated as an outbound device only, and will notaccept incoming messages. A user may also elect to have incomingmessages printed directly on an attached printer 18 or a fax machinerather than having them first stored in the host computer 16.Implementation of such inbound message receiving andworkstation/printer/fax emulation is well known in the art.

FIG. 3 is a typical example of a document to be transmitted through thehost computer printer port 14 to the telecommunication network 11. Nearthe beginning (for example, within the first ten lines), an initialcommand key word is included, initializing the process of generating atelecommunications message. Several key words (such as **LOGO**, **SIGNXXX**, **END**) can be located anywhere within the message, but it isrequired that a first key word be recognized near the beginning of themessage. The message preferably ends with an explicit END command, butthis is optional.

Following are examples of some key words:

    ______________________________________                                        KEY WORD COMMANDS     MEANING                                                 ______________________________________                                        **FAX 213 539 0324**  fax message to tele-                                                          phone number 213 539                                                          0324                                                    **FAX 213 539 9324,fine mode**                                                                      fax message in fine                                                           mode                                                    **TELEX 814350381**   telex message to                                                              country 814, telex                                                            number 350381                                           **TELEX 814350381 A/B ACMECO**                                                                      telex message to                                                              country 814, telex                                                            number 350381, with                                                           answerback                                                                    ACMECO                                                  **CO LOGO**           insert the company                                                            logo (optionally, this                                                        may be made auto-                                                             matic)                                                  **SIGN XXX**          insert XXX's signature                                  **SEND TO MAILING LIST FIELD**                                                                      send the message to                                                           the persons listed in                                                         the mailing list enti-                                                        tled "FIELD"                                            **CREATE MAILING LIST FIELD**                                                                       the names and num-                                                            bers listed below will                                                        form the new mailing                                                          list "FIELD"                                            **PRINT MAILING LIST FIELD**                                                                        require the interface                                                         module to print the                                                           mailing list defined                                                          under "FIELD"                                           **PRINT ALL STATUS**  command to the                                                                interface module to                                                           print the status of                                                           messages                                                **UPLOAD STATUS ALL** require the interface                                                         module to upload, as                                                          an input from the em-                                                         ulated workstation,                                                           the status of all traffic                               **INVERT 123**        invert message 123                                                            (received upside                                                              down)                                                   **END**               end of a document or                                                          session                                                 ______________________________________                                    

In the preferred embodiment, the inventive method scans the incomingdata stream from the host computer 16 for (1) two adjacent asterisks (2)following a carriage return, and (3) appearing in the first 10 lines. Ifsuch a combination is found, then the characters following the asterisksare scanned to see if they match any permitted command strings. If so,the command is executed to effectuate a communication with thetelecommunication network 11. If no paired asterisks and valid commandstring are found, then the data is treated as being intended for outputon the printer 18.

FIGS. 4A-4B illustrate a flow chart of the process of differentiatingbetween a normal document to be passed through the interface module 12(for example, for printing) and data that is to be intercepted andtransmitted to the telecommunication network 11. Following is adescription of each step:

FIG. 4A

    ______________________________________                                        Step 10/20:                                                                           Start/Initialization:                                                         Do to the routine initialization, plus set                                    the following flags, buffers, and counters:                           CRF          =     Carriage Return Flag                                       PH           =     Port to Host computer                                      CC           =     Character Counter                                          CFIFO        =     Character FIFO                                             CMF          =     Command Flag (results of 2 asterisks)                      PP           =     Printer Port                                               CMB          =     Command Buffer                                             CMC          =     Command Counter (asterisk counter)                         CRC          =     Carriage Return Counter                                    LC*          =     Last Character Asterisk Flag                               GWN          =     Gateway Flag                                               ______________________________________                                    

Step 30: Scan the printer port of the host computer for incoming data.

Step 40: Test if the data from the printer port comprises a printablecharacter or a control character.

Step 50: If a control character, test if it is for an end-of-filecharacter, which will be equated to an **END** command and loaded intothe Command Buffer (Step 55).

Step 60/70: Test if the character is a carriage return. If so, set thecarriage return flag to 1, and increment the Carriage Return Counter.This will enable the recognition of the ** character pair at thebeginning of a line, and also permit limiting scanning a message for akey word command to the first 10 lines of a message.

Step 90: If the Command Flag equals 1 (meaning 2 asterisks in a row havebeen detected after a carriage return), analyze the content of theCommand Buffer for commands, as described in FIG. 4B.

Step 100: Test if the character is an asterisk.

Step 110: Test if the Carriage Return Flag equals 1. This differentiatesbetween an asterisk following a carriage return and an asterisk insideof a line of text.

Step 120: Set the Last Character Asterisk Flag to 0 if the character isnot an asterisk.

Step 130: If the previous character was an asterisk, increment theCommand Counter by 1 (Step 150).

Step 140: If an asterisk follows a carriage return, set the LastCharacter Asterisk Flag on and increment the Command Counter by 1 (Step150).

Step 160/190: If the Command Counter equals 2 (meaning 2 adjacentasterisks have been found), then set the Command Flag to 1.

Step 200: Set the carriage return flag equal to 0, since the characterreceived is not a carriage return.

FIG. 4B

Step 210: If the Carriage Return Counter is greater than 10, bypass thesearch for a command word, since it is a prerequisite that a key wordcommand be within the first 10 lines.

Step 220-240: Repeatedly test for a key word command, which has to belocated within the first 10 lines of the message coming from the hostcomputer in the preferred embodiment. When such a key word is found, itis loaded into the Command Buffer (Step 250), and transmitted to acommand data base, which manages the communications session with thenetwork.

Step 245: Test if the **END** key word is present. This key wordindicates the end of the message being transmitted to the network.

Step 260 or 270: Test for a command requiring status of information onthe printer or on the workstation port. If found, execute the respectivecommand (Step 280 or Step 290).

Step 300: Clear all control buffers when done testing, printing, oruploading.

FIG. 4C

Step 310: Test if the character received is within the first 10 lines oftext. If not, load the character into the Character FIFO (Step 350).

Step 320: Test if the Gateway Flag is on when the incoming character isabove the tenth line. If so, load the character into the Character FIFO(Step 350) with no additional action. If not (indicating that no keyword command has been received), the character is loaded into theCharacter FIFO (Step 340).

Step 360: If the printer is ready, the characters in the Character FIFOare transmitted to the printer (Step 380). If not, an error flag is setto indicate a problem with the printer (Step 370).

Thus, the present invention can link a word processor or editor of ahost computer 16 via the interface module 12 to other computers, telexmachines, electronic mail services, or facsimile machines withoutrequiring any special configuration or programming of the host computer16. A user need only add text strings comprising key word commands todocuments to cause the documents to be routed to the telecommunicationnetwork 11. The interface module 12 is otherwise transparent to any datanot containing such key word commands, thereby permitting the outputport of the host computer 16 to be used in a normal fashion, such astransmitting data to a printer 18.

A number of embodiments of the present invention have been described.Nevertheless, it will be understood that various modifications may bemade without departing from the spirit and scope of the invention. Forexample, the initial key word command may be located within any desirednumber of lines from the beginning of the message. The key worddesignators may be defined as character combinations other than twoasterisks following a carriage return. The ports used may be any type ofport capable of operation in a manner similar to that described abovefor the printer port 14 and workstation (or keyboard) port 20, and mayoperate with parallel or serial data. The invention may be configuredfor communication using protocols and standards other than those setforth above as examples. Accordingly, it is to be understood that theinvention is not to be limited by the specific illustrated embodiment,but only by the scope of the appended claims.

I claim:
 1. A method for transmitting data between a host computer and a telecommunication network through an interface module without requiring special host-based computer programs to communicate with the interface module, comprising the steps of:a. receiving data in the interface module from the host computer via a first port of the host computer, the data comprising a plurality of characters; b. scanning in the interface module the plurality of characters in sequence, over a selected number of characters of the received data, for the presence of a first predetermined command code specified by, and embedded in, the received data by a user, the command code comprising a string of characters, and:(i) transmitting at least part of the received data to the telecommunication network by means of the interface module if the first predetermined command code is detected within the selected number of characters of the received data; and (ii) terminating transmission of the received data to the telecommunication network if the data received from the host computer terminates or if a second predetermined command code is received from the host computer; and otherwise; (iii) not transmitting the received data to the telecommunication network by means of the interface module if the first predetermined command code is not detected within the selected number of characters of the received data.
 2. The method of claim 1, further including the step of transmitting the received data to a peripheral device of the host computer if the first predetermined command code is not detected within the selected number of characters of the received data.
 3. The method of claim 1, further including the steps of:a. receiving data from the telecommunication network; and b. selectively transmitting the data received from the telecommunication network to the host computer via a second port of the host computer.
 4. The method of claim 3, further including the step of selectively transmitting the data received from the telecommunication network to a peripheral device of the host computer.
 5. The method of claim 1, further including the step of selectively transmitting status data, indicative of the status of the interface module, to the host computer via a second port of the host computer.
 6. The method of claim 1, further including the step of selectively transmitting status data, indicative of the status of the interface module, to a peripheral device of the host computer.
 7. The method of claim 1, wherein the first port of the host computer is a printer port.
 8. The method of claim 1, wherein the first predetermined command code includes a prefix comprising at least two non-alphabetic, non-numeric characters.
 9. The method of claim 1, wherein the first predetermined command code includes a prefix comprising at least two asterisks.
 10. The method of claim 1, wherein the first predetermined command code includes a command of the form * FAX n, m, where * comprises at least two non-alphabetic, non-numeric characters, n is a telephone number and m is an optional mode command.
 11. The method of claim 1, wherein the first predetermined command code includes a command of the form * TELEX n, a, where * comprises at least two non-alphabetic, non-numeric characters, n is a telex number and a is an optional answerback code.
 12. The method of claim 1, wherein the first predetermined command code includes a command of the form * SIGN x, where * comprises at least two non-alphabetic, non-numeric characters, and x is a signature.
 13. The method of claim 1, wherein the second predetermined command code includes a command of the form * END, where * comprises at least two non-alphabetic, non-numeric characters.
 14. The method of claim 1, wherein the number of characters selected is determined by a selected number of carriage return characters.
 15. A method for transmitting data between a host computer and a telecommunication network through an interface module without requiring special host-based computer programs to communicate with the interface module, comprising the steps of:a. receiving data in the interface module from the host computer via a first port of the host computer, the data comprising a plurality of characters; b. scanning in the interface module the plurality of characters in sequence, over a selected number of characters of the received data, for the presence of a first predetermined command code specified by, and embedded in, the received data by a user, the command code comprising a string of characters, and:(i) transmitting at least part of the received data to the telecommunication network by means of the interface module if the first predetermined command code is detected within the selected number of characters of the received data; and (ii) terminating transmission of the received data to the telecommunication network if the data received from the host computer terminates or if a second predetermined command code is received from the host computer; and otherwise; (iii) transmitting the received data by means of the interface module to a coupled peripheral device of the host computer if the first predetermined command code is not detected within the selected number of characters of the received data.
 16. The method of claim 15, further including the steps of:a. receiving data in the interface module from the telecommunication network; and b. selectively transmitting the data received from the telecommunication network to the host computer via a second port of the host computer, or to the peripheral device of the host computer, by means of the interface module.
 17. The method of claim 16, further including the step of selectively transmitting status data, indicative of the status of the interface module, to the host computer via a second port of the host computer, or to the peripheral device of the host computer, by means of the interface module.
 18. An interface apparatus for transmitting data between a host computer and a telecommunication network through an interface module without requiring special host-based computer programs to communicate with the interface module, including:a. host receiving means, coupled to a first port of the host computer, for receiving data from the host computer via the first port, the data comprising a plurality of characters; b. scanning means, coupled to the host receiving means, for scanning a selected number of characters of the received data for the presence of a first predetermined command code specified by, and embedded in the received data by, a user, the command code comprising a string of characters; and c. network transmission means, coupled to the host receiving means and to the telecommunication network, for transmitting the received data to the telecommunication network if the first predetermined command code is detected within the selected number of characters of the received data, and otherwise not transmitting the received data to the telecommunication network, wherein the network transmission means terminates transmission of the received data if the received data terminates or if a second predetermined command code is received from the host computer.
 19. The apparatus of claim 18, further including output means, coupled to the host receiving means and the scanning means, for transmitting the received data to a peripheral device coupled to the output means if the first predetermined command code is not detected within the selected number of characters of the received data.
 20. The apparatus of claim 18, further including:a. network receiving means, coupled to the telecommunication network, for receiving data from the telecommunication network; and b. switching means, coupled to the network receiving means and a second port of the host computer, for selectively transmitting the data received from the telecommunication network to the host computer via the second port.
 21. The apparatus of claim 20, wherein the switching means is coupled to a peripheral device, and further includes means for selectively transmitting the data received from the telecommunication network to the peripheral device.
 22. The apparatus of claim 18, further including status reporting means, coupled to a second port of the host computer and to a peripheral device, for selectively transmitting status data, indicative of the status of the interface apparatus, to the host computer via the second port or to the peripheral device.
 23. An interface apparatus for transmitting data between a host computer and a telecommunication network without requiring special host-based computer programs to communicate with the interface apparatus, including:a. host receiving means, coupled to a first port of the host computer, for receiving data from the host computer via the first port, the data comprising a plurality of characters; b. scanning means, coupled to the host receiving means, for scanning the plurality of characters in sequence, for a selected number of characters of the received data for the presence of a first predetermined command code specified by, and embedded in the received data by, a user, the command code comprising a string of characters; c. network transmission means, coupled to the host receiving means, the scanning means, and the telecommunication network, for;(i) transmitting the received data to the telecommunication network if the first predetermined command code is detected within the selected number of characters of the received data; and (ii) terminating transmission of the received data if the received data terminates or if a second predetermined command code is received from the host computer; and d. output means, coupled to the host receiving means and the scanning means, for transmitting the received data to a peripheral device coupled to the output means if the first predetermined command code is not detected within the selected number of characters of the received data.
 24. The apparatus of claim 23, further including:a. network receiving means, coupled to the telecommunication network, for receiving data from the telecommunication network; and b. switching means, coupled to the network receiving means, the output means, and a second port of the host computer, for selectively transmitting the data received from the telecommunication network to the host computer via the second port, or to the peripheral device.
 25. The apparatus of claim 23, further including status reporting means, coupled to a second port of the host computer and to the peripheral device, for selectively transmitting status data, indicative of the status of the interface apparatus, to the host computer via the second port or to the peripheral device.
 26. An interface apparatus for transmitting data between a host computer and a telecommunication network through an interface module without requiring special host-based computer programs to communicate with the interface module, including:a. a host receiver, coupled to a first port of the host computer, for receiving data from the host computer via the first port, the data comprising a plurality of characters; b. scanning apparatus, coupled to the host receiver, for scanning a selected number of characters of the received data for the presence of a first predetermined command code specified by, and embedded in the received data by, a user, the command code comprising a string of characters; and c. a network transmitter, coupled to the host receiver and to the telecommunication network, for transmitting the received data to the telecommunication network if the first predetermined command code is detected within the selected number of characters of the received data, and otherwise not transmitting the received data to the telecommunication network, wherein the network transmitter terminates transmission of the received data if the received data terminates or if a second predetermined command code is received from the host computer.
 27. The apparatus of claim 26, further including an output circuit, coupled to the host receiver and the scanning apparatus, for transmitting the received data to a peripheral device coupled to the output circuit fi the first predetermined command code is not detected within the selected number of characters of the received data.
 28. The apparatus of claim 26, further including:a. a network receiver, coupled to the telecommunication network, for receiving data from the telecommunication network; and b. a switch, coupled to the network receiver and a second port of the host computer for selectively transmitting the data received from the telecommunication network to the host computer via the second port.
 29. The apparatus of claim 28, wherein the switch is coupled to a peripheral device, and is further for selectively transmitting the data received from the telecommunication network to the peripheral device.
 30. The apparatus of claim 26, further including status reporting means, coupled to a second port of the host computer and to a peripheral device, for selectively transmitting status data, indicative of the status of the interface apparatus, to the host computer via the second port or to the peripheral device.
 31. The apparatus of claim 26, wherein the first port of the host computer is a printer port.
 32. The apparatus of claim 26, wherein the first predetermined command code includes a prefix comprising at least two non-alphabetic, non-numeric characters.
 33. The apparatus of claim 26, wherein the first predetermined command code includes a prefix comprising at least two asterisks.
 34. The apparatus of claim 26, wherein the first predetermined command code includes a command of the form * FAX n, m, where * comprises at least two non-alphabetic, non-numeric characters, n is a telephone number and m is an optional mode command.
 35. The apparatus of claim 26, wherein the first predetermined command code includes a command of the form * TELEX n, a, where * comprises at least two non-alphabetic, non-numeric characters, n is a telex number and a is an optional answerback code.
 36. The apparatus of claim 26, wherein the first predetermined command code includes a command of the form * SIGN x, where * comprises at least two non-alphabetic, non-numeric characters, and x is a signature.
 37. The apparatus of claim 26, wherein the second predetermined command code includes a command of the form * END, where * comprises at least two non-alphabetic, non-numeric characters.
 38. The apparatus of claim 26, wherein the number of characters selected is determined by a selected number of carriage return characters.
 39. A method for transmitting data between a host computer and a telecommunication through an interface module without requiring special host-based computer programs to communicate with the interface module, comprising the steps of:a. receiving print data in the interface module from the host computer via a printer port of the host computer, the print data comprising a plurality of characters; b. scanning in the interface module a selected number of characters of the received print data for the presence of a first predetermined command code specified by, and embedded in, the received print data by a user, the command code comprising a string of characters; and transmitting at least part of the received print data to the telecommunication network by means of the interface module if the first predetermined command code is detected within the selected number of characters of the received print data.
 40. The method of claim 39, wherein the number of characters selected is determined by a selected number of carriage return characters.
 41. The method of claim 39, wherein the first predetermined command code includes a prefix comprising at least two non-alphabetic, non-numeric characters.
 42. The method of claim 39, wherein the first predetermined command code includes a prefix comprising at least two asterisks.
 43. The method of claim 39, wherein the first predetermined command code includes a command of the form * FAX n, m, where * comprises at least two non-alphabetic, non-numeric characters, n is a telephone number and m is an optional mode command.
 44. The method of claim 39, wherein the first predetermined command code includes a command of the form * TELEX n a, where * comprises at least two non-alphabetic, non-numeric characters, n is a telex number and a is an optional answerback code.
 45. The method of claim 39, wherein the first predetermined command code includes a command of the form * SIGN x, where * comprises at least two non-alphabetic, non-numeric characters, and x is a signature.
 46. The method of claim 39, wherein the printer port is a parallel print port.
 47. The method of claim 39, wherein the printer port is a serial print port.
 48. An interface apparatus for transmitting data between a host computer and a telecommunication network through an interface module without requiring special host-based computer programs to communicate with the interface module, including:a. a host receiver, coupled to a printer port of the host computer, for receiving print data from the host computer via the printer port, the print data comprising a plurality of characters; b. scanning apparatus, coupled to the host receiver, for scanning a selected number of characters of the received print data for the presence of a first predetermined command code specified by, and embedded in the received print data by, a user, the command code comprising a string of characters; and c. a network transmitter, coupled to the host receiver and to the telecommunication network, for transmitting the received print data to the telecommunication network if the first predetermined command code is detected within the selected number of characters of the received print data, and otherwise not transmitting the received print data to the telecommunication network.
 49. The apparatus of claim 48, wherein the number of characters selected is determined by a selected number of carriage return characters.
 50. The apparatus of claim 48, wherein the first predetermined command code includes a prefix comprising at least two non-alphabetic, non-numeric characters.
 51. The apparatus of claim 48, wherein the first predetermined command code includes a prefix comprising at least two asterisks.
 52. The apparatus of claim 48, wherein the first predetermined command code includes a command of the form * FAX n, m, where * comprises at least two non-alphabetic, non-numeric characters, n is a telephone number and m is an optional mode command.
 53. The apparatus of claim 48, wherein the first predetermined command code includes a command of the form * TELEX n, a, where * comprises at least two non-alphabetic, non-numeric characters, n is a telex number and a is an optional answerback code.
 54. The apparatus of claim 48, wherein the first predetermined command code includes a command of the form * SIGN x, where * comprises at least two non-alphabetic, non-numeric characters, and x is a signature.
 55. The apparatus of claim 48, wherein the printer port is a parallel print port.
 56. The apparatus of claim 48, wherein the printer port is a serial print port. 